import userMixin from './user.mixin'

const activeShowMixin = {
  mixins: [userMixin],
  methods: {
    // 接受websc的回掉函数 fun：函数名称 value：参数
    setWebSC(fun, value){
      // console.log('setWebSC', fun, value );
      this[fun](value);
    },

    // 设置文件目录id
    setDirId(dirId) {
      this.$store.commit('user/setDirId', dirId)
    },


    // 设置需要展示的文件id
    setFileID(fileID) {
      let fileItem = null,
        fileIndex = -1,
        fileList = this.$store.state.file.fileList
      for (let i = 0; i < fileList.length; i++) {
        if (fileList[i].id === fileID) {
          fileItem = fileList[i]
          fileIndex = i
        }
      }
      this.clearResultTextArray()
      this.$store.commit('activeFile/setItem', fileItem)
      this.$store.commit('activeFile/setFileIndex', fileIndex)
      this.$store.commit('activeFile/setFileID', fileID)
      // setFileID 之后 清空 pdf子集id
      this.$store.commit('activeFile/setPdfChildInfo', {index:0, list:[]});
      this.$store.commit('activeFile/setPdfItem', {});
    },
    // 设置展示PDF图片组的索引值
    setFileOldID(oldID) {
      this.$store.commit('activeFile/setFileOldID', oldID)
    },
    // 设置展示PDF图片组的索引值
    setPicIndex(picIndex) {
      this.$store.commit('activeFile/setPicIndex', picIndex)
    },
    // 设置文件索引
    setFileIndex(fileIndex) {
      this.$store.commit('activeFile/setFileIndex', fileIndex)
    },
    // 设置高亮展示的区域位置
    setActivePosition(activePosition) {
      this.$store.commit('activeFile/setActivePosition', activePosition)
    },
    // 设置当前展示的pdf的子页id
    setPdfChildInfo(pdfChildInfo) {
      this.$store.commit('activeFile/setPdfChildInfo', pdfChildInfo);
    },
    // 设置当前搜索的关键词
    setSearchKeyWord(searchKeyWord) {
      this.$store.commit('activeFile/setSearchKeyWord', searchKeyWord);
    },
    // 设置当前搜索的pdf页码
    setSearchKeyNo(searchKeyNo) {
      this.$store.commit('activeFile/setSearchKeyNo', searchKeyNo);
    },
    // 在当前pdf文件基础上刷新
    setSearchKeyFresh(searchKeyFresh) {
      this.$store.commit('activeFile/setSearchKeyFresh', searchKeyFresh);
    },

    // 存储文件树列表
    setFileList(fileList) {
      this.$store.commit('file/setFileList', fileList)
    },
    // 存储文件树列表 正在上传的
    setFileListActive(fileListActive) {
      this.$store.commit('file/setFileListActive', fileListActive)
    },
    // 存储搜索的结果
    setFileListSearch(fileListSearch) {
      this.$store.commit('file/setFileListSearch', fileListSearch)
    },
    // 设置截图文件地址
    setScreenImgSrc(screenImgSrc) {
      this.$store.commit('file/setScreenImgSrc', screenImgSrc)
    },


    // 根据索引配置活跃的文件
    setActiveFile(fileIndex) {
      let fileList = this.$store.state.file.fileList
      let item = fileList[fileIndex]
      this.$store.commit('activeFile/setFileIndex', fileIndex)
      this.$store.commit('activeFile/setItem', item)
      // 切换页码选择器时存储文件id
      this.$store.commit('activeFile/setFileID', item.id)
    },
    // 设置pdf字文件
    setPdfItem(pdfItem) {
      this.$store.commit('activeFile/setPdfItem', pdfItem)
    },
    // 设置复制当前页内容
    setCopyResultText(copyResultText) {
      this.$store.commit('activeFile/setCopyResultText', copyResultText)
    },

    // 客户端或浏览器窗体活动
    setResizeStatus(resizeStatus){
      this.$store.commit('status/setResizeStatus', resizeStatus)
    },
    // 设置是否重新获取ocr结果
    setNeedGetOcrResult(needGetOcrResult) {
      this.$store.commit('status/setNeedGetOcrResult', needGetOcrResult)
    },
    // 是否展示高亮的选中效果，图片放大、缩小动作时，不显示高亮效果
    setNeedShowActiveOcrText(needShowActiveOcrText) {
      this.$store.commit('status/setNeedShowActiveOcrText', needShowActiveOcrText)
    },
    // 配置是否需要刷新列表
    setNeedRefreshList(needRefreshList) {
      this.$store.commit('status/setNeedRefreshList', needRefreshList)
    },
    // 是否有文件正在上传
    setFileLoadingState(loading) {
      this.$store.commit('status/setFileLoadingState', loading)
    },
    // 图片是否在加载过程中
    setImgInfo(imgResult) {
      this.$store.commit('status/setImgInfo', imgResult)
    },
    // ocr是否在处理过程中
    setOcrInfo(ocrResult) {
      this.$store.commit('status/setOcrInfo', ocrResult)
    },
    // 截图模式切换
    setScreenShotsStatus(screenShotsStatus) {
      this.$store.commit('status/setScreenShotsStatus', screenShotsStatus)
    },
    // 快捷键截图切换
    setScreenKeyStatus(screenKeyStatus) {
      if( ( !this.$store.state.status.screenShotsStatus && screenKeyStatus == 1 ) ||
        ( this.$store.state.status.screenShotsStatus && screenKeyStatus == 2 ) ||
        screenKeyStatus == 0
      ){
        // console.log(screenKeyStatus);
        this.$store.commit('status/setScreenKeyStatus', screenKeyStatus);
      }
    },
    // 搜索弹窗切换
    setFileSearchVisible(fileSearchVisible) {
      this.$store.commit('status/setFileSearchVisible', fileSearchVisible)
    },
    // 拖动选择文本切换
    setSelectionBtnVisible(fileSearchVisible) {
      this.$store.commit('status/setSelectionBtnVisible', fileSearchVisible)
    },
    // 上传提示语
    setLoadingLabel(loadingLabel) {
      this.$store.commit('status/setLoadingLabel', loadingLabel)
    },
    // 设置快捷键
    setScreenInputChar(screenInputChar) {
      this.$store.commit('status/setScreenInputChar', screenInputChar)
    },
    // 设置快捷键是否可用
    setScreenCanUse(screenCanUse) {
      this.$store.commit('status/setScreenCanUse', screenCanUse)
    },
    // 设置当前是否是编辑模式
    setEditMode(editMode) {
      this.$store.commit('status/setEditMode', editMode)
    },
    // 设置当前是否有表格
    setTableExit(tableExit) {
      this.$store.commit('status/setTableExit', tableExit)
    },
    // 设置当前文件夹id
    setDirectoryId(currentDirectoryId) {
      this.$store.commit('file/setDirectoryId', currentDirectoryId)
    },
    // 设置截图下拉列表是否展示
    setCaptureVisible(captureVisible) {
      this.$store.commit('status/setCaptureVisible', captureVisible)
    },
    // 设置导出下拉列表是否展示
    setExportVisible(exportVisible) {
      this.$store.commit('status/setExportVisible', exportVisible)
    },
    // 导出列表展示隐藏
    setFileDownloadVisible(fileDownloadVisible) {
      this.$store.commit('status/setFileDownloadVisible', fileDownloadVisible)
    },
    // 导出列表内容设置
    setFileDownloadList(fileDownloadList) {
      this.$store.commit('status/setFileDownloadList', fileDownloadList)
    },
    // 正在导出列表中的文件id
    setFileDownloadfileIds(fileDownloadfileIds) {
      this.$store.commit('status/setFileDownloadfileIds', fileDownloadfileIds)
    },
    // 正在导出动画开启
    setFileDownloadAnimation(fileDownloadAnimation) {
      this.$store.commit('status/setFileDownloadAnimation', fileDownloadAnimation)
    },
    // 设置问题反馈下拉列表是否展示
    setQaVisible(qaVisible) {
      this.$store.commit('status/setQaVisible', qaVisible)
    },
    // 文字模式编辑后 高级功能开启后 影响表格模式首次点击
    setFileEdit(fileEdit) {
      this.$store.commit('status/setFileEdit', fileEdit)
    },


    // 识别结果的文案数组
    setResultTextArray(textArray) {
      this.$store.commit('cache/setCache', {
        key: 'resultTextArray',
        value: textArray,
      })
    },
    // clear 识别结果的文案数组
    clearResultTextArray() {
      this.$store.commit('cache/setCache', {
        key: 'resultTextArray',
        value: [],
      })
    },
    // 设置选中的所有文件
    setAllSelectedFileList(allSelectedFileList) {
      this.$store.commit('file/setAllSelectedFileList', allSelectedFileList)
    },
    // 设置选中的所有文件夹
    setAllSelectedFolderList(allSelectedFolderList) {
      this.$store.commit('file/setAllSelectedFolderList', allSelectedFolderList)
    },
    // 设置文件夹树
    setFolderList(folderList) {
      this.$store.commit('file/setFolderList', folderList)
    },
    // 设置高级功能是否可用
    setAdvancedFunStatus(advancedFunStatus) {
      this.$store.commit('status/setAdvancedFunStatus', advancedFunStatus)
    },
    // 设置高级功能按钮
    setAdvancedFunButtonStatus(advancedFunButtonStatus) {
      this.$store.commit('status/setAdvancedFunButtonStatus', advancedFunButtonStatus)
    },
    // 设置高级功能图片地址
    setAdvancedFunImgSrc(advancedFunImgSrc) {
      this.$store.commit('status/setAdvancedFunImgSrc', advancedFunImgSrc)
    },
    // 设置签章和手印数组
    setSealAndFingerprintList(sealAndFingerprintList) {
      this.$store.commit('file/setSealAndFingerprintList', sealAndFingerprintList)
    },
    // 设置多页PDF选择是否展示
    setPreviewStatus(setPreviewStatus) {
      this.$store.commit('file/setPreviewStatus', setPreviewStatus)
    },
    // 设置是否显示web截图效果
    setShadowGrayShow(setShadowGrayShow) {
      this.$store.commit('file/setShadowGrayShow', setShadowGrayShow)
    },
    // 设置
    setAdvancedFunOcrStatus(advancedFunOcrStatus) {
      this.$store.commit('status/setAdvancedFunOcrStatus', advancedFunOcrStatus)
    },
    // 设置图片需要旋转的角度
    setImgRotateAngle(imgRotateAngle) {
      this.$store.commit('status/setImgRotateAngle', imgRotateAngle)
    },
    // 设置旋转后的图片
    setImgRotateAngleSrc(imgRotateAngleSrc) {
      this.$store.commit('status/setImgRotateAngleSrc', imgRotateAngleSrc)
    },

    // 设置web截图数据
    setShadowGrayData(shadowGrayData) {
      this.$store.commit('activeFile/setShadowGrayData', shadowGrayData)
    },

    // 设置识别状态符
    setStatus(status) {
      this.$store.commit('file/setStatus', status)
    },
  },
  // computed: {
  //     //识别结果的文案数组
  //     resultTextArray() {
  //         return this.$store.state.cache.resultTextArray;
  //     },
  //     pdfItem() {
  //         return this.$store.state.activeFile.pdfItem;
  //     },
  //     dirId() {
  //         return this.$store.state.user.dirId;
  //     },
  //     needRefreshList() {
  //         return this.$store.state.status.needRefreshList;
  //     },
  //     fileIndex() {
  //         return this.$store.state.activeFile.fileIndex;
  //     },
  //     fileId() {
  //         let item = this.$store.state.activeFile.item;
  //         return item ? item.id : null;
  //     },
  //     fileType() {
  //         let item = this.$store.state.activeFile.item;
  //         return item ? item.fileType : null;
  //     },
  //     fileItem() {
  //         let item = this.$store.state.activeFile.item;
  //         return item;
  //     },
  //     picIndex() {
  //         let item = this.$store.state.activeFile.item;
  //         return item ? item.filePage : null;
  //     },
  //     activePosition() {
  //         return this.$store.state.activeFile.activePosition;
  //     },
  //     fileList() {
  //         return this.$store.state.file.fileList;
  //     },
  //     //是否应该获取Ocr结果
  //     needGetOcrResult() {
  //         return this.$store.state.status.needGetOcrResult;
  //     },
  //     //是否展示高亮的选中效果，图片放大、缩小动作时，不显示高亮效果
  //     needShowActiveOcrText() {
  //         return this.$store.state.status.needShowActiveOcrText;
  //     }
  // },
}

export default activeShowMixin
